<?php
    /**
     * @author Fernando
     */
        class Projeto_Clientes{
        
        private $codigo;
        private $nome;
        private $endereco;
        private $bairro;
        private $cidade;
        private $coduf;
        private $cep;
        private $telefone;
        private $cel;
        private $email;
        private $rg;
        private $senha;
        private $sexo;
        private $datanasc;
        
        public function __construct(){
            $this->codigo = 0;
            $this->nome = '';
            $this->endereco = '';
            $this->bairro = '';
            $this->cidade = '';
            $this->coduf = 0;
            $this->cep = '';
            $this->telefone = '';
            $this->cel = '';
            $this->email = '';
            $this->rg = '';
            $this->senha = '';
            $this->sexo = '';
            $this->datanasc = '';
        }
        
        public function setCodigo($value){
            $this->codigo= (int) $value;
        }
     
        public function getCodigo(){
            return $this->codigo;
        }
        
        public function setNome($value){
            $this->nome= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getNome(){
            return $this->nome;
        }
        
        public function setEndereco($value){
            $this->endereco= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getEndereco(){
            return $this->endereco;
        }
        
        public function setBairro($value){
            $this->bairro= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getBairro(){
            return $this->bairro;
        }
        
        public function setCidade($value){
            $this->cidade= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getCidade(){
            return $this->cidade;
        }
        
        public function setCodUf($value){
            $this->coduf= (int) $value;
        }
     
        public function getCodUf(){
            return $this->coduf;
        }
        
        public function setCep($value){
            $this->cep= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getCep(){
            return $this->cep;
        }
        
        public function setTelefone($value){
            $this->telefone= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getTelefone(){
            return $this->telefone;
        }
        
        public function setCel($value){
            $this->cel= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getCel(){
            return $this->cel;
        }
        
        public function setEmail($value){
            $this->email= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getEmail(){
            return $this->email;
        }
        
        public function setRg($value){
            $this->rg= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getRg(){
            return $this->rg;
        }
        
        public function setSenha($value){
            $this->senha= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getSenha(){
            return $this->senha;
        }
        
        public function setSexo($value){
            $this->sexo= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getSexo(){
            return $this->sexo;
        }
        
        public function setDataNasc($value){
            $this->datanasc= Util_Util::LimpaStringCompleta($value);
        }
     
        public function getDataNasc(){
            return $this->datanasc;
        }
        
        public function Cadastra(){
            
            $db = new DB_Connect();
            $insert = ("
				INSERT INTO 
					clientes
                		(nome, endereco, bairro, cidade, coduf, cep, telefone, cel, email, rg, senha, sexo, data_nascimento)
                    VALUES
                        ('{$this->nome}', '{$this->endereco}', '{$this->bairro}', '{$this->cidade}', '{$this->coduf}', '{$this->cep}', '{$this->telefone}', '{$this->cel}', '{$this->email}', '{$this->rg}', '{$this->senha}', '{$this->sexo}', '{$this->datanasc}')
			");
            if(!$db->Query($insert)){
                throw new Exception("Não foi possível realizar o cadastro!");
            }
        }
        
        public function Carrega(){
            
            $carrega = ("SELECT * FROM clientes WHERE codigo = '{$this->getCodigo()}' ");
            $db = new DB_Connect();
            $result = $db->Query($carrega);
            
            if(!$result->NumRows()){
                throw new Exception("Cliente não encontrado!");
            }else{
                $dados = $result->FetchObject();
                $this->setCodigo($dados->codigo);
                $this->setNome($dados->nome);
                $this->setEndereco($dados->endereco);
                $this->setBairro($dados->bairro);
                $this->setCidade($dados->cidade);
                $this->setCodUf($dados->coduf);
                $this->setCep($dados->cep);
                $this->setTelefone($dados->telefone);
                $this->setCel($dados->cel);
                $this->setEmail($dados->email);
                $this->setRg($dados->rg);
                //$this->setSenha($dados->senha);
                $this->setSexo($dados->sexo);
                $this->setDataNasc($dados->data_nascimento);
            }            
        }
        
        public function Lista(){
            
            $lista = ("SELECT * FROM clientes");
            $db = new DB_Connect();
            $result = $db->Query($lista);
            if(!$result->NumRows()){
                throw new Exception("Não há clientes cadastrados no sistema!");
            }else{
                $dados = array();
                while($clientes = $result->FetchObject()){
                    $dados[] = $clientes;
                }
                return $dados;
            }
        }
    }
?>
